cabal-version:         2.2
name:                  finitary
-- PVP summary:        +-+------- breaking API changes
--                     | | +----- non-breaking API additions
--                     | | | +--- code changes with no API change
version:               0.2.0.0
synopsis:              A better, more type-safe Enum.
description:           Provides a type class witnessing that a type has
                       finitely-many inhabitants, as well as its cardinality.
                       Also provides an auto-deriving framework using GHC
                       Generics, together with a range of instances for existing
                       types.
homepage:              https://notabug.org/koz.ross/finitary
bug-reports:           https://notabug.org/koz/ross/finitary/issues
license:               GPL-3.0-or-later
license-file:          LICENSE.md
author:                Koz Ross
maintainer:            koz.ross@retro-freedom.nz
copyright:             (C) Koz Ross 2019
category:              Data
build-type:            Simple
tested-with:           GHC == 8.6.5, 
                       GHC == 8.4.4
extra-source-files:    CHANGELOG.md,
                       README.md,
                       LICENSE.md

source-repository head
  type:                git
  location:            git://notabug.org/koz.ross/finitary.git

library
  exposed-modules:     Data.Finitary,
                       Data.Finitary.Lift
  other-modules:       Data.Finitary.TH
  build-depends:       base >= 4.11 && < 4.13,
                       finite-typelits >= 0.1.4.2 && < 1.0.0.0,
                       coercible-utils >= 0.0.0 && < 1.0.0,
                       ghc-typelits-knownnat >= 0.7 && < 1.0,
                       ghc-typelits-natnormalise >= 0.7 && < 1.0,
                       vector-sized >= 1.2.0.1 && < 2.0.0.0,
                       mtl >= 2.2.2 && < 3.0.0,
                       template-haskell >= 2.13.0.0 && < 3.0.0.0,
                       bitvec >= 1.0.0.1 && < 2.0.0.0
  hs-source-dirs:      src
  default-language:    Haskell2010

test-suite tests
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      test
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base,
                       hedgehog >= 1.0 && < 2.0,
                       finitary,
                       finite-typelits,
                       vector-sized,
                       monad-loops >= 0.4.3 && < 1.0.0,
                       bitvec
  default-language:    Haskell2010
